public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) {
    new Float: playerHealth;
    
    GetPlayerHealth(playerid, playerHealth);
    
    playerData[playerid][recentDamage] += amount;
    playerData[playerid][hitsReceived]++;
    playerData[playerid][lastDamage] = GetTickCount();
    
    new szHPLost[30];
    format(szHPLost, 30, "~r~%d HP~n~~w~%d %s", playerData[playerid][recentDamage], playerData[playerid][hitsReceived], (playerData[playerid][hitsReceived] > 1) ? ("HITS") : ("HIT"));
    TextDrawSetString(textDraw[hpLost][playerid], szHPLost);
		
    format(szHPLost, 30, "-%d", playerData[playerid][recentDamage]);
    SetPlayerChatBubble(playerid, szHPLost, 0x56ABE3FF, 20.0, 3000);
    
    if (playerHealth < 100.0) {
        if (playerData[playerid][healthObject] == INVALID_OBJECT_ID) {
            new Float: fPos[3];
            GetPlayerPos(playerid, fPos[0], fPos[1], fPos[2]);
            playerData[playerid][healthObject] = CreateObject(1240, fPos[0], fPos[1], fPos[2], 0.0, 0.0, 0.0);
            AttachObjectToPlayer(playerData[playerid][healthObject], playerid, 0.0, 0.0, 1.725, 0.0, 0.0, 0.0);
        }
    }
    
    else {
        if (playerData[playerid][armourObject] == INVALID_OBJECT_ID) {
            new Float: fPos[3];
            GetPlayerPos(playerid, fPos[0], fPos[1], fPos[2]);
            playerData[playerid][armourObject] = CreateObject(1242, fPos[0], fPos[1], fPos[2], 0.0, 0.0, 0.0);
            AttachObjectToPlayer(playerData[playerid][armourObject], playerid, 0.0, 0.0, 1.725, 0.0, 0.0, 0.0);
        }
    }
    
    if (gameData[bIsRoundActive] == true) {
        if (playerData[playerid][isPlaying] == false) {
            return true;
        }
        
        new _iTeam = playerData[playerid][team];
        
        teamData[_iTeam][damageGot] += amount;
        teamData[_iTeam][lastHealthLost] = GetTickCount();
           
        new textDrawString[15];
        format(textDrawString, 15, "-%.0f", teamData[_iTeam][damageGot]);
        TextDrawSetString(textDraw[healLost][_iTeam], textDrawString);
    }
    
    return true;
}
        
        